Each computer includes a main memory for storing a program and data directly read and written by the program, and a graphics memory for storing image data to be displayed on a display. The image data stored in the graphics memory is displayed on the display. Processes of generating image data based on display data in the main memory and displaying the image data on the display, such as a CRT and a flat display, by storing the generated image data in the graphics memory are defined as drawing or displaying processes. The graphics memory is a memory area separate from the main memory storing a running program, and stores the image data to be displayed on the display.
In each of the early personal computers and computer terminals, one display such as a cathode-ray tube had been used as one display area. The text and graphics are converted into image data and stored in a graphics memory so as to be displayed on the display.
On the other hand, multi-window systems each displaying display areas called “windows” on a single display (simply referred to as “window system”) are widely available in recent personal computers and computer terminals. Each window system includes a window management unit and a program in a main memory. In the window system, a frame window as a display frame is generated by the program under control of the window management unit. Sometimes, the frame window is simply referred to as a “window”.
Furthermore, a window is created by attaching, on a frame window, a display element referred to as a window component (GUI component or an object), such as a button managed by the window management unit. The frame window to which the window component is attached is also referred to as a window. The program causes a main memory to hold information of the frame window and the attached window component (hereinafter referred to as “display data”), and generates image data of the frame window and the window component using the held display data. The generated image data is stored in a graphics memory so as to be displayed on a display.
The combination of information defining a window (data structure) and a program and others (method) for generating the window is referred to as a window object. The window and the window object are in a one-to-one relationship. Once the window object generates and displays a window, it waits for instruction information from outside. The instruction information is sometimes referred to as a message. With a key input and moving and clicking of a mouse, the window object receives the message. Since the destination of the message is the window object, even when multiple windows are generated, an appropriate window object receives the message.
Upon receipt of the message by the window object, predetermined processing is performed according to details of the message. The program that executes the processing is sometimes referred to as an event processing program. Upon execution of the predetermined processing, the window object again waits for a message. With occurrence of an event, such as a key input and moving and clicking of a mouse, the window object receives the message including the event information. Upon receipt of the message, the window object only executes an event processing program that is a predetermined program corresponding to the message. Without receiving a message, the window object does nothing.
When the window object is to generate and display a window in the window system, image data of the window is not directly stored in the graphics memory in response to an instruction for drawing the window. After the window object generates the window and executes a drawing command of the window, the window management unit receives the drawing command of the window.
Upon reception of the drawing command of the window, the window management unit checks whether or not there are other windows overlapping with the window. When the windows overlap with one another, drawing messages are sequentially issued from windows under the windows. Since each window object stores image data of a window to be drawn by itself in a graphics memory on its own, there is a possibility of an influence, such as overwriting the image data of overlapping other windows. Thus, the window management unit adjusts the storage order.
When the window object receives a drawing message from the window management unit, it stores the image data of the frame window and the attached window component in a graphics memory. Thereby, the frame window and the window component are displayed on the display.
When the window object stores image data of an entire window in a graphics memory on its own without the adjustment by the window management unit, there are cases where a portion overlapping with other windows is not accurately displayed. Thus, after the window management unit adjusts the order for drawing the windows, it transmits a drawing message to each window object in the appropriate order.
Once a window is displayed, the window management unit is notified of information indicating changes in the size of a window or in a display position of a window when the size of the window is changed with a mouse operation or the display position of the window is moved. Upon receipt of the information, the window management unit adjusts the drawing order and transmits a drawing message to each window object. Upon receipt of the drawing message, the window object stores the image data of the frame window and the window component in a graphics memory. Thereby, the window is displayed on the display.
However, even when the window object executes a drawing command after a window is generated and displayed, neither the drawing message is transmitted from the window management unit to the window object nor the window is re-drawn in the current window system. This is probably derived from the basic design of the window system in which the window management unit should adjust the display of windows having changes in the overlaps. When the windows overlap and there is no change in the overlaps, the window management unit does not adjust the display. Here, when only the windows are displayed again, there is a possibility of overwriting the image data of overlapping other windows.
Furthermore, when the window object receives a drawing message from the window management unit, after the window object stores image data of a frame window and the attached window component in a graphics memory, information other than the frame window and the attached window component (hereinafter referred to as “content”) can be displayed on the frame window or the image data of the attached window component using a program. Taking a browser for example, data that is not managed by the window management unit, such as text information described in HTML or an image is displayed on the frame window or the attached window component by the browser or a program incorporated into the browser.
The frame window and the window component sometimes include text information, for example, a title of a window and a name of a button. The program needs to set a size of text displayed on a frame window and a window component to the frame window and the window component in advance. When the setting of the size of text displayed on the frame window and the window component is skipped, the text size is set to a predetermined value.
Conventionally, the size of text displayed on a frame window and a window component has never be dynamically changed by a program. Because in the window system predicated on the displaying of multiple windows, a window object cannot store image data of the entire windows in a graphics memory on its own as described above. Once the image data of the windows is stored in the graphics memory, even when the text size of a frame window and of a window component in a main memory is changed, the image data in which the text size has been changed cannot be stored in the graphics memory.
Although one may assume that only the image data of the window component is stored in the graphics memory, there is a possibility that a part or the entire of the window component overlaps with other windows. Furthermore, there is another possibility that the window component overlaps with other window components on a window. Thus, solely using a method of storing the image data of the window component in the graphics memory does not work.
There are cases where display data (content) different from window components managed by the window management unit, such as text, images, and moving images is displayed on windows. A software program called a browser, such as Internet Explorer displays a content different from display elements such as window components (GUI components) managed by a window manager. The content is information such as text and images managed not by the window management unit but by a program such as a browser. A window in a browser includes a frame window and a window component managed by the window management unit, and a content managed by a program called a browser.
The size of text displayed by the browser based on information described in HTML can be changed by operating a menu. When the text size is changed by the menu operation, the browser fills a display area with a background color. Next, the browser redraws the text having the changed text size in the filled display area, so that the text size can be dynamically changed. However, the text size of the window components, such as a menu managed by the window management unit, cannot be changed by the browser.
OS/2 that is an operating system (OS) for computers has an execution environment built by a software program called a DOS-compatibility box that can execute an OS program named MS-DOS. With the DOS-compatibility box, the same screen as that of MS-DOS (DOS screen) is displayed on a window. The content displayed on the DOS screen extends and contracts according to the change in the size of a window on which the DOS screen is displayed. This results from the automatic enlargement and reduction in graphics data of a content displayed on the DOS screen.
Furthermore, with a word processor software program, the content managed by the word processor is displayed on a window. More specifically, image data in a graphics memory is filled with a background color, so that document data displayed on the window of the word processor software program is temporarily erased. After erasing the document data in the graphics memory, the text size of the document data displayed in the window is changed, and the image data of the document data is stored again in the graphics memory. As such, the text size of the document data that is a content can be changed. However, the operation is intended to change neither the text size according to the window nor the text size of a window component, but the text size of a content that is display information managed by a word processor software program.
When multiple windows are simultaneously displayed in an apparatus, such as a personal computer, the user cannot view a window under the overlapping windows. When the size of the windows is reduced, the problem of overlapping windows is solved. However, the windows reduced in size have portions that are not displayed. Thus, a larger display is needed for displaying a larger number of windows.
In recent years, apparatuses having smaller displays, such as mobile information equipment and mobile phones are used as terminals of information systems. These apparatuses have displays greatly different in size from those of personal computers. Thus, the display mechanisms of these apparatuses differ, and respectively development and maintenance of different programs have been performed for the apparatuses. Thus, the development and maintenance of systems require a lot of efforts and cost. Furthermore, the users of one information system need to learn plural operating methods for the information system. That enormously burdens the users of the information system.
Japanese Unexamined Patent Application Publication No. 6-236171 discloses a window display method of inputting a width of an area in which text is displayed, text data to be displayed, and a text size, and determining a width and a height of a window.
Japanese Unexamined Patent Application Publication No. 5-313848 discloses a method of (i) searching, in response to change in a window size with a mouse operation, a displayable font from the height and width of a window or the number of rows and columns of the window that are previously set, and (ii) changing the text size by setting the obtained font size (text size).
Japanese Unexamined Patent Application Publication No. 7-325698 discloses a method of changing a text size by calculating, in response to change in a window size performed by an operator using a keyboard or a pointing device, the height and width of text from the height and width of the window changed in size and the number of rows and columns of the window that are previously set.
Japanese Unexamined Patent Application Publication No. 5-324258 discloses a method of (i) holding text image information of one or more types of text sizes in an auxiliary storage device of a computer having a single type of a text size, (ii) storing, in a main memory, the text image information held in the auxiliary storage device, and (iii) causing an application program to display texts having different sizes.
Japanese Unexamined Patent Application Publication No. 11-24642 discloses a method of calculating a text size using the height and width and the number of rows and columns of a display area, and displaying the text screen with the calculated text size, in a computer to display text.
In other words, the conventional techniques disclose the method of determining the size of a window from text data and the text size of text to be displayed, and the method of displaying text on a screen by calculating a text size using the size of a window and the number of rows or the number of columns of text to be displayed.    Patent Reference 1: Japanese Unexamined Patent Application Publication No. 6-236171    Patent Reference 2: Japanese Unexamined Patent Application Publication No. 5-313848    Patent Reference 3: Japanese Unexamined Patent Application Publication No. 7-325698    Patent Reference 4: Japanese Unexamined Patent Application Publication No. 5-324258    Patent Reference 5: Japanese Unexamined Patent Application Publication No. 11-24642